1. Field of the Invention
The present invention relates generally to source synchronous communication links and, more particularly, to optimizing timing margins in source synchronous communication link.
2. Related Art
Chipsets and other devices communicate over a trace, bus, wire or other communication link or channel. External clocks are often used to synchronize the timing between such communicating components. Typically, with regard to chipsets, an external clock chip generates a system clock that is routed throughout the circuit board to different components for translation into an internal clock. The internal clock is then used by the individual components to generate internal and external signals. The extended routing of the system clock combined with the translation of the system clock to an internal clock by individual components results in timing variations at the interface of the different components. For systems operating at a low frequency most such timing variations can be absorbed by a longer system clock cycle while more extreme timing variations can be bypassed through the addition of wait states to the valid time of a signal.
Recent advances in microprocessor technology have provided processors with substantially greater operating frequencies. To fully utilize the benefits provided by such microprocessors, system clock speeds must be increased. As the system clock speeds have increased, common-clocked, data transfer systems developed problems such as flight time delays, clock skews, etc.
To overcome these communication problems source synchronous communication techniques have been developed. In a source synchronous environment, clock or strobe signals are sent between components along with the data signals to communicate timing information. Instead of having one or more components operate on a common clock signal, data is communicated at a speed that is not set by a common clock signal. The strobe signal sent with the data may be used, for example, to start an internal clock, for latching of the data, or for other timing purposes. In this way, source synchronous communication eliminates many of the noted problems of traditional, common-clocked, data transfers, thereby providing increased data transfer rates over traditional data transfer schemes.
The term xe2x80x98data eyexe2x80x9d is commonly used to describe the shape of the data waveform as it has a shape resembling a partially closed eye. Typically, the data strobe, which may be a single or two differential signals, is skewed so that it is phase shifted by 90 degrees (centered) with respect to the data signal with which it is sent. That is, a rising or falling edge of the data strobe falls close to the center of the data eye. This guarantees that each data bit is stable at the source synchronous receiver at the time of receipt of the corresponding clock signal, increasing the likelihood that the data will be properly latched into the source synchronous receiver.
Unfortunately, however, a high-speed source synchronous communication link is susceptible to electrical data capture errors. Electrical characteristics of the link such as connector quality, length of trace lines, capacitive and inductive coupling, cross-talk and the like degrade the integrity of the data signal; that is, diminish the size of the data eye. The timing and noise margins of the data signals, which are determined by the width and height, respectively, of the data eye, are likewise decreased. For high-speed communication links, these reductions, particularly in the timing margin, prevent the communication link from operating at the targeted frequencies.
A number of traditional approaches have been suggested to determine whether data capture errors have occurred. One conventional approach has been to use scan-on-the-fly (SOTF) techniques. Such techniques, which are commonly used to capture data located in internal registers in the core of a chip, require the addition of a debug flip-flop coupled to the output of each of the data capture flip-flops. Such shadow flip-flops receive the captured data as it is output from the data capture flip-flop. The captured data can then be made available for subsequent analysis. One drawback to this approach is that since a debug flip-flop must be coupled to each data capture flip-flop, twice as many flip-flops must be implemented, drastically increasing the requisite area consumed by the receiving device. More importantly, perhaps, is the increased capacitive loading that is placed on the data capture flip-flops, which may be significant depending on the distance between the shadow flip-flop and its corresponding data capture flip-fop. This increased capacitive loading on the data capture flip-flops increases the latency of the data path, further reducing the timing margins.
Another approach has been to scan the captured data directly from the data capture flip-flops. However, to scan the data from the flip-flops, additional devices such as a multiplexer must be implemented in the functional data path to control the clock provided to the data capture flip-flops. Such additional components in the functional data path increase the latency of the data path, further reducing the timing margins.
What is needed, therefore, is an apparatus and methodology for optimizing the timing margins of a source synchronous communication link and for determining the data capture capability of a source synchronous link without introducing additional logic, area or latency in the functional data path.
The present invention is directed to providing optimal timing margins by logically and electrically matching the data and data strobe paths. This includes routing the data and data strobe signals in close proximity from the transmitter to the receiver, and through the same logical and physical elements in the transmitter and receiver. This insures that any injected link noise is experienced common-mode. In addition, the data strobe signal is preferably driven at one-half of the period of the data signal so that the data strobe and data signals experience logical state transitions at the same time and at the same frequency. This insures maximally similar electrical modes on the communication link, further maximizing link margin.
A number of aspects of the invention are summarized below, along with different embodiments that may be implemented for each of the summarized aspects. It should be understood that the embodiments are not necessarily inclusive or exclusive of each other and may be combined in any manner that is non-conflicting and otherwise possible. It should also be understood that these summarized aspects of the invention are exemplary only and are considered to be non-limiting.
In one aspect of the invention, a source synchronous link is disclosed. The source synchronous link includes a source synchronous transmitter and receiver connected by a communication link. The transmitter includes a first logic structure configured to generate a data signal over a data line of the communication link, and a second logic structure configured to generate one or more data strobe signals over a corresponding one or more clock lines of the communication link. The first and second logic structures are of substantially identical configuration and operate in response to a same local clock.
In one particular embodiment, the communication link routes the data and clock lines in close proximity between the transmitter and receiver to insure interference is experienced common-mode. In addition, the data and data strobe signals are preferably routed in through the same logical and physical elements in the receiver.
In another embodiment, the relative frequency of the data signal and the one or more data strobe signals are such that the data and data strobe signals experience logical state transitions simultaneously. For example, the data strobe signals may be transmitted at a first frequency and the data signal is transmitted at a second frequency that is twice the first frequency.
In another aspect of the invention, a source synchronous transmitter for use in a source synchronous link to transmit a data signal and a data strobe signal to a source synchronous receiver is disclosed. The transmitter is configured to implement data transmit and data strobe transmit logic structures having logically and electrically identical components and component configurations such that the data signal and the data strobe signal have a substantially identical response to electrical interference and noise.
In a still further aspect of the invention, a source synchronous link is disclosed. This source synchronous link includes a communication link and a source synchronous transmitter. The transmitters include a first logic structure configured to generate a data signal over a data line of a communication link, and a second logic structure configured to generate one or more data strobe signals over a corresponding one or more clock lines of the communication link. The first logic and second logic structures are of substantially identical configuration and operate in response to a same local clock. Preferably, the communication links route the data line and the corresponding clock lines in close proximity between the transmitter and receiver. Also, the data and data strobe signals are preferably routed in through the same logical and physical elements in the receiver.
In one particular embodiment, the relative frequency of the data signal and the one or more data strobe signals are such that the data strobe signal and data strobe signals experience logical state transitions simultaneously and at a same frequency. Preferably, the data signal is double pumped at frequencies that cause the data signal and the data strobe signals to transition logical states simultaneously.
The present invention is directed to methods and apparatus for halting the data strobes transmitted over a source synchronous link to enable the data stored in the data capture flip-flops in a source synchronous receiver to be scanned out for subsequent analysis. Advantageously, this allows for the evaluation of the captured data without placing additional components in the functional data path and, therefore, without increasing the latency of the transmission.
Various embodiment of the present invention provide certain advantages and overcome certain drawbacks of the above and other conventional techniques. Not all embodiments of the present invention share the same advantages and those that do may not share them under the same or similar circumstances. Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention are described in detail below with reference to the accompanying drawings. In the drawings, like reference numerals indicate like or functionally similar elements. Additionally, the left most one or two digits of a reference numeral identify the drawing in which the reference numeral first appears.